﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

using PMServiceDesk.BusinessLogic;
using PMServiceDesk.DataType;
using PMServiceDesk.Utils.Interfaz;
using PMServiceDesk.Parameters.Constantes;
using PMServiceDesk.Web.AppCode;

namespace PMServiceDesk.Web.Forms.Workflow
{
    public partial class ConsultarTareas : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;

            this.InitForm();
        }

        protected void InitForm()
        {
            InterfazUtils.LoadDropDownList(ddlTipoPaqueteTrabajo, SoporteLogic.TiposPaqueteTrabajo(Sesion.Usuario.ProyectoId), DatosControl.SeleccionarTodos);
            InterfazUtils.LoadDropDownList(ddlEstadoPaqueteTrabajo, SoporteLogic.EstadosPaqueteTrabajo("0"), DatosControl.SeleccionarTodos);
            InterfazUtils.LoadDropDownList(ddlUsuarioResponsable, SoporteLogic.UsuariosPorProyecto(Sesion.Usuario.ProyectoId), DatosControl.SeleccionarTodos);
            InterfazUtils.LoadDropDownList(ddlUsuarioAsignado, SoporteLogic.UsuariosPorProyecto_SinAsignar(Sesion.Usuario.ProyectoId), DatosControl.SeleccionarTodos);
            InterfazUtils.LoadDropDownList(ddlFecha, SoporteLogic.TipoBusquedaFechasProyecto());
        }

        [WebMethod]
        public static PaqueteTrabajoView Listar(PaqueteTrabajoType registroBusqueda, int paginaActual, int cantidadMostrar, string orderBy)
        {
            return PaqueteTrabajoIU.Listar(registroBusqueda, paginaActual, cantidadMostrar, orderBy);
        }

        [WebMethod]
        public static List<KeyValuePair<string,string>> ListarEstadosPaqueteTrabajo(string tipoPaqueteTrabajoId)
        {
            return SoporteLogic.EstadosPaqueteTrabajo(tipoPaqueteTrabajoId);
        }

        [WebMethod]
        public static string ExportarExcel(PaqueteTrabajoType registroBusqueda, List<GridJSONField> gridFields)
        {
            return PaqueteTrabajoIU.ExportarExcel(registroBusqueda, gridFields);
        }        
    }
}